# 首页
# 对象库层
from selenium.webdriver.common.by import By

from V6.UTILS import util_devier
from V6.base_page import BasePage
from V6.base_page import BaseHandle


class PageHome(BasePage):  # 先对页面进行类比划分 你这是首页 所以类名用pagehome 进行类划分继承类
    # 作用定位元素 定位元素通过浏览器驱动对象

    def __init__(self):
        super().__init__()  # 继承类要这个
        # self.driver=util_devier.get_driver()#获取驱动对象 已在基类中获取了驱动对象
        self.login_bnt = By.CSS_SELECTOR, '.red'

    @classmethod
    def find_login_btn(self):  # 定义一个寻找元素的方法
        # 元素定位的值
        return self.get_element(*self.login_btn)
        # return self.driver.find_element(self.login_bnt[0],self.login_bnt[1])#注意在定位元素信息时要return 调用时要放回 首页只需要登录按钮


# 操作层
class HandleHome(BaseHandle):  # 操作层可以看做是切菜 那么我的菜从哪里来 肯定是从我得元素来 那么如何操作才能那我的元素
    @classmethod
    def __init__(self):
        self.home_page = PageHome.find_login_btn()  # 拿到我的元素了 拿到我的菜了 可以做菜了

    def click_login_bin(self):  # 对元素进行操作
        self.home_page.clik()  # 对按钮进行点击


# 业务层要调用操作层
class HomeProxy:
    def __init__(self):  # 上菜还得有过程 这个叫业务呈现
        def go_login_Page(self):  # 点击登录按钮 跳转登录页面
            self.homehandle = HandleHome.click_login_bin()
